package com.shadt.cloud.service;

import java.util.List;

import com.shadt.cloud.entity.CloudBranch;
import com.shadt.cloud.entity.User;
import com.shadt.cloud.vo.BranchVo;

/**
 * 分平台业务逻辑层接口
 * @author SongR
 *
 */
public interface BranchService {
	/**
	 * 验证分平台是否已注册
	 * @param appname
	 * @return
	 */
	BranchVo checkBranch(String appname) throws Exception;
	
	/**
	 * 根据分平台名称获取分平台信息
	 * @param appname
	 * @return
	 */
	BranchVo getBranch(String appname) throws Exception;
	
	/**
	 * 分平台注册
	 * @param appname app名称
	 * @param username 注册人姓名
	 * @param phone 注册人手机号
	 * @return
	 */
	BranchVo register(String appname,String username,String phone,String pasword) throws Exception;

	/**
	 * 获取当前用户对应的所有平台
	 * @param search
	 * @param start
	 * @param length
	 * @param u
	 * @return
	 */
	List<BranchVo> getBranch(String search, Integer start, Integer length, User u) throws Exception;

	/**
	 * 获取当前用户的平台数量
	 * @param search
	 * @param u
	 * @return
	 */
	Object getBranchCount(String search, User u) throws Exception;

	/**
	 * 添加平台
	 * @param u
	 * @param branch
	 * @return
	 */
	BranchVo add(User u, CloudBranch branch) throws Exception;

	/**
	 * 编辑平台名称
	 * @param id
	 * @param value
	 * @throws Exception
	 */
	void editBranch(String id, String value) throws Exception;

	/**
	 * 删除平台
	 * @param id
	 * @throws Exception
	 */
	void delBranch(Long id) throws Exception;

	List<BranchVo> getBranch(String search, Integer start, Integer length, User u, String type)throws Exception;

	Object getBranchCount(String search, User u, String type)throws Exception;

	/**
	 * 停用平台
	 * @param id
	 */
	void banBranch(Long id)throws Exception;

	void recoveryBranch(Long id)throws Exception;

	void reloadBranch(Long id)throws Exception;

	void setState(Long id, int i)throws Exception;

	String setSecret(Long id)throws Exception;

	void editsBranch(String id, String value)throws Exception;

	
}
